package com.agency8x.model.base;

import java.sql.Timestamp;

import com.jfinal.plugin.activerecord.CaseInsensitiveContainerFactory;
import com.jfinal.plugin.activerecord.IBean;
import com.jfinal.plugin.activerecord.Model;

public abstract class BaseWithdrawModel<M extends BaseWithdrawModel<M>> extends Model<M> implements IBean {

	public M setId(java.lang.Integer id) {
		set("id", id);
		return (M) this;
	}

	public java.lang.Integer getId() {
		return get("id");
	}

	public M setUserId(java.lang.Integer id) {
		set("user_id", id);
		return (M) this;
	}

	public java.lang.Integer getUserId() {
		return get("user_id");
	}

	public M setAmount(java.math.BigDecimal value) {
		set("amount", value);
		return (M) this;
	}

	public java.math.BigDecimal getAmount() {
		return get("amount");
	}

	public M setAccount(java.lang.String value) {
		set("account", value);
		return (M) this;
	}

	public java.lang.String getAccount() {
		return get("account");
	}

	public M setHolder(java.lang.String value) {
		set("holder", value);
		return (M) this;
	}

	public java.lang.String getHolder() {
		return get("holder");
	}
	
	public M setNickname(java.lang.String value) {
		set("nickname", value);
		return (M) this;
	}
	
	public java.lang.String getNickname() {
		return get("nickname");
	}

	public M setBankname(java.lang.String value) {
		set("bank_name", value);
		return (M) this;
	}

	public java.lang.String getBankname() {
		return get("bank_name");
	}

	public M setBlance(java.math.BigDecimal value) {
		set("blance", value);
		return (M)this;
	}

	public java.math.BigDecimal getBlance() {
		return get("blance");
	}
	
	public java.lang.String getStatusText() {
		Short status = get("status");
		switch (status) {
		case 0:
			return "待审核";
		case 1:
			return "通过";
		case 2:
			return "驳回";
		default:
			return "-";
		}
	}

	public M setPayChannel(String value) {
		set("pay_channel", value);
		return (M)this;
	}

	public String getPayChannel() {
		return get("pay_channel");
	}
	public M setAuditorId(Integer value) {
		set("auditor_id", value);
		return (M)this;
	}

	public Integer getAuditorId() {
		return get("auditor_id");
	}
	public M setRemark(String value) {
		set("remark", value);
		return (M)this;
	}

	public String getRemark() {
		return get("remark");
	}
	public M setRejectedRemark(String value) {
		set("rejected_remark", value);
		return (M)this;
	}

	public String getRejectedRemark() {
		return get("rejected_remark");
	}
	public M setCreateTime(Timestamp value) {
		set("create_time", value);
		return (M)this;
	}

	public Timestamp getCreateTime() {
		return get("create_time");
	}
	public M setAuditTime(Timestamp value) {
		set("audit_time", value);
		return (M)this;
	}

	public Timestamp getAuditTime() {
		return get("audit_time");
	}
	public M setStatus(String value) {
		set("status", value);
		return (M)this;
	}

	public String getStatus() {
		return get("status");
	}

	
	
}
